package com.jy.wms.service;

import com.jy.wms.common.annotions.BaseServiceDescribe;
import com.jy.wms.common.base.BaseService;
import com.jy.wms.common.base.ServiceException;
import com.jy.wms.common.base.SucessException;
import com.jy.wms.pojo.WmsOwner;
import com.jy.wms.pojo.WmsTurnoverBox;
import com.jy.wms.dao.WmsTurnoverBoxMapper;
import org.springframework.stereotype.Service;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import java.util.List;

    /**
    * @ClassName: WmsTurnoverBoxService.java
    * @Description: TODO(这里用一句话描述这个类的作用)
    * @Author yjs
    * @Date Wed Oct 11 11:02:32 GMT+08:00 2017
    */

    @Service
    public class WmsTurnoverBoxService extends BaseService<WmsTurnoverBoxMapper,WmsTurnoverBox> {

     /**
     * 插入一条记录
     * @param entity 实体对象
     * @return int
     */
     @BaseServiceDescribe(moduleName = "周转箱管理",btnName = "新增周转箱")
    public void baseInsert( WmsTurnoverBox entity)throws ServiceException {
         Integer i =dao.baseInsert( entity );
         if(i>0){
         }else{
             throw new ServiceException("新增周转箱失败");
         }
    }

        /**
         * 添加前去除重复
         * @param entity
         * @return
         */
    public WmsTurnoverBox addSearch(WmsTurnoverBox entity){
        return dao.addSearch( entity);
    }
        /**
         * 添加前去除重复
         * @param entity
         * @return
         */
        public WmsTurnoverBox addSearch_s(WmsTurnoverBox entity){
            return dao.addSearch_s( entity);
        }
   /**
    * 插入一条记录（匹配有值的字段）
    * @param entity 实体对象
    * @return int
    */
    public Integer baseInsertSelective( WmsTurnoverBox entity){
         return dao.baseInsertSelective( entity);
    }

   /**
    * 删除（根据ID 批量删除）
    * @param idList 主键ID列表
    * @return int
    */
   @BaseServiceDescribe(moduleName = "周转箱管理",btnName = "删除周转箱信息")
    public void baseDeleteBathPrimaryKeys( List<String> idList) throws Exception{
       Integer i=dao.baseDeleteBathPrimaryKeys( idList );
       if(i>0){
           throw new SucessException("删除周转箱信息成功");
       }else{
           throw new ServiceException("删除周转箱信息失败");
       }
    }

    /**
    * 分页查询
    * @param entity 实体
    * @return Page<WmsTurnoverBox>
    */
    @BaseServiceDescribe(moduleName = "周转箱管理",btnName = "查询周转箱信息")
    public Page<WmsTurnoverBox> baseSelectPage(WmsTurnoverBox entity ) throws ServiceException {
        try{
            PageHelper.startPage(entity.getPage(),entity.getRows());
            return (Page<WmsTurnoverBox>)dao.baseSelectPage( entity );
        }catch(Exception e){
            throw new ServiceException("查询周转箱信息失败",e);
        }
    }

   /**
    * 查询（根据主键ID查询）
    * @param id 主键ID
    * @return WmsTurnoverBox
    */
   @BaseServiceDescribe(moduleName = "周转箱管理",btnName = "编辑查询周转箱信息")
    public WmsTurnoverBox baseSelectByPrimaryKey( String id ){
         return dao.baseSelectByPrimaryKey( id );
    }

   /**
    * 查询（根据ID 批量查询）
    * @param idList 主键ID列表
    * @return list
    */
    public Integer baseSelectBathPrimaryKeys( List<WmsTurnoverBox> idList ){
         return dao.baseSelectBathPrimaryKeys( idList );
    }

   /**
    *修改 （匹配有值的字段）
    * @param entity 主键ID列表
    * @return int
    */
   @BaseServiceDescribe(moduleName = "周转箱管理",btnName = "编辑周转箱")
    public void baseUpdateByPrimaryKeySelective( WmsTurnoverBox entity)throws Exception{
       Integer i =dao.baseUpdateByPrimaryKeySelective( entity);
       if(i>0){
           throw new SucessException("编辑周转箱成功");
       }else{
           throw new ServiceException("编辑周转箱失败");
       }
    }

   /**
    *修改（根据主键ID修改）
    * @param entity 主键ID列表
    * @return int
    */
    public Integer baseUpdateByPrimaryKey( WmsTurnoverBox entity){
         return dao.baseUpdateByPrimaryKey( entity);
    }

        /**
         * 查询全部货主
         * @param ckid
         * @param mc
         * @return
         */
    public List<WmsOwner> searchHz(String ckid,String mc){
        return dao.searchHz(ckid, mc);
    }

        /**
         * 修改箱数
         * @param entity
         * @return
         */
    @BaseServiceDescribe(moduleName = "周转箱管理",btnName = "修改箱数")
    public void addSl(WmsTurnoverBox entity)throws Exception{
        Integer i=dao.addSl(entity);
        if(i>0){
            i=dao.updateXs(entity);
            if(i>0){
                throw new SucessException("修改箱数成功");
            }else{
                throw new ServiceException("修改箱数失败");
            }
        }else{
            throw new ServiceException("修改箱数失败");
        }
    }

        /**
         * 是否激活
         * @param ids
         * @param sfjh
         * @throws ServiceException
         */
        @BaseServiceDescribe(moduleName = "周转箱管理",btnName = "是否激活")
        public void sfjh(List<String> ids,String sfjh)throws Exception{
            Integer i=0;
            for(String id:ids){
                i=dao.sfjh(id,sfjh);
                if(i>0){
                    throw new SucessException("操作成功");
                }else{
                    throw new ServiceException("操作失败");
                }
            }
        }
}
